#include<bits/stdc++.h>
#define y1 Y1
#define fi first
#define endl "\n"
#define se second
#define PI acos(-1)
#define int long long
#define pb(x) push_back(x)
#define PII pair<int, int>
#define Yes cout << "Yes\n";
#define No cout << "No\n";
#define YES cout << "YES\n";
#define NO cout << "NO\n";
#define _for(i, a, b) for(int i = a; i <= b; ++i)
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;

const int N = 1e7 + 10;
int a[N], cnt;
int is_prime[N];
bool f[N];
unordered_map<int, int>mp;

void prime(int n) {
	for(int i = 2; i <= n; ++ i ) {
		if(f[i] == false) {
			is_prime[++cnt] = i;
			mp[i]++;
		}
		for(int j = 1; is_prime[j] <= n / i; ++ j ) {
			f[i * is_prime[j]] = 1;
			if(i % is_prime[j] == 0)break;
		}
	}
}

signed main() {
	IOS;
	int n;
	prime(1000000);
	while(true) {
		cin >> n;
		if(n == 0) {
			return 0;
		}
		for(int i = 1; is_prime[i] <= n; ++ i ) {
			int t = n - is_prime[i];
			if(mp[t]) {
				cout << n << " = " << is_prime[i] << " + " << t << endl;
				break;
			}
		}
	}
	return 0; 
}



